home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / commodore-scene-files / Coverdisks / CDU / V4D10.D64 / windows on c64 (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  3.0 KB  |  116 lines

  1. 10 REM*****************************
  2. 20 REM*                           *
  3. 30 REM*   WINDOWS DEMONSTRATION   *
  4. 40 REM*                           *
  5. 50 REM*   ERIC RANDALL     1988   *
  6. 60 REM*                           *
  7. 70 REM*****************************
  8. 80 REM
  9. 90 REM    INITIALISATION
  10. 100 REM
  11. 105 POKE53280,14:POKE646,14:POKE53281,6:PRINT"[147]        LOADING: MACHINE CODE[154]"
  12. 110 IFPEEK(49152)<>72THENLOAD"WINDOWS MC",8,1
  13. 120 POKE52,100:POKE56,100
  14. 130 INIT=50176:SET=50179:PULL=50182:BACK=50185:DOWN=50188:UP=50191:LEFT=50194
  15. 140 RIGHT=50197
  16. 150 POKE53265,PEEK(53265)AND239
  17. 160 SYSINIT:SYSSET,1,3,5,19,30:SYSSET,2,2,2,14,30:SYSSET,4,5,8,8,23
  18. 170 SYSPULL,1
  19. 180 PRINT"[147]      INSTRUCTIONS[146]":PRINT"INITIALISE SYSTEM - SYS50176
  20. 190 [153]"DEFINE WINDOW - SYS50179,A,B,C,D,E  WHERE:":[153]" A=WINDOW NUMBER (1 TO 4)
  21. 200 PRINT" B=START LINE  C=START ROW":PRINT" D=NUMBER OF LINES
  22. 210 [153]" E=NUMBER OF ROWS":[153]"PULL DOWN WINDOW - SYS50182,A WHERE A=WINDOW NUMBER
  23. 220 PRINT"PUSH BACK CURRENT WINDOW -    SYS50185"
  24. 230 PRINT"PRESS A KEY":SYSBACK
  25. 240 SYSPULL,4:PRINT"[147]TO DRAG WINDOWS :-
  26. 250 [153]" DOWN  - SYS50188 F3WAIT":[153]" UP    - SYS50191 F4WAIT"
  27. 260 [153]" LEFT  - SYS50194 F6WAIT":[153]" RIGHT - SYS50197 F5WAIT"
  28. 270 [158]BACK:[151]53265,[194](53265)[170]16
  29. 280 [143]
  30. 290 [143]    MAIN MENU
  31. 300 [143]
  32. 310 [153]"LOAD          WINDOWS DEMONSTRATION         WAIT"
  33. 320 [153]"  1WAIT  -  INSTRUCTIONS
  34. 330 PRINT"  2[146]  -  DISK DIRECTORY LISTING
  35. 340 [153]"  3WAIT  -  DEFINE YOUR OWN WINDOW
  36. 350 PRINT"  4[146]  -  PULL DOWN A WINDOW
  37. 360 [153]"  5WAIT  -  EXIT
  38. 370 PRINT"AFTER EACH EXERCISE, PRESS F1 TO EXIT   FROM A WINDOW
  39. 380 [153]"      SELECT OPTIONWAIT
  40. 390 GETA$:IFA$<"1"ORA$>"5"THEN390
  41. 400 ONVAL(A$)GOTO410,490,560,660,480
  42. 410 REM
  43. 420 REM    PULL INSTRUCTION WINDOW
  44. 430 REM
  45. 440 SYSPULL,1:GOSUB740
  46. 450 SYSPULL,4:GOSUB740
  47. 460 SYSBACK:SYSBACK
  48. 470 GOTO390
  49. 480 END
  50. 490 REM
  51. 500 REM    DISPLAY DIRECTORY
  52. 510 REM
  53. 520 SYSPULL,2
  54. 530 PRINT"[147]    DISK LISTING[146]":PRINT"INSERT DISK AND PRESS A KEY"
  55. 540 GETA$:IFA$=""THEN540
  56. 550 GOSUB850:GOSUB740:SYSBACK:GOTO390
  57. 560 REM
  58. 570 REM    DEFINE A WINDOW
  59. 580 REM
  60. 590 SYSPULL,1:PRINT"[147]    DEFINE WINDOW[146]":PRINT"YOUR WINDOW WILL BE NUMBER 3
  61. 600 A[178]3:[153]" START LINE";:[133]B:[153]"START ROW";:[133]C
  62. 610 [153]"NUMBER OF LINES";:[133]D:[153]"NUMBER OF ROWS";:[133]E
  63. 620 [158]SET,A,B,C,D,E:[158]PULL,A
  64. 630 [153]"LOADTHIS IS YOUR WINDOW.  USE THE CURSER AND HOME CONTROLS TO SET UP";
  65. 640 [153]"THE DISPLAY IN THIS WINDOW THEN PRESS RETURN
  66. 650 INPUTA$:SYSBACK:SYSBACK:GOTO390
  67. 660 REM
  68. 670 REM    PULL DOWN A WINDOW
  69. 680 REM
  70. 690 SYSPULL,2:PRINT"[147]   PULL DOWN A WINDOW[146]
  71. 700 [153]"WHICH WINDOW (1, 3 OR 4)":[133]A
  72. 705 [139]A[179]1[176]A[177]4[176]A[178]2[167]700
  73. 710 [158]PULL,A
  74. 720 [141]740
  75. 730 [158]BACK:[158]BACK:[137]390
  76. 740 [143]
  77. 750 [143]   CHECK WHICH KEY PRESSED
  78. 760 [143]   AND MOVE WINDOW
  79. 770 [143]
  80. 780 [161]A$:[139]A$[178]""[167]780
  81. 790 A[178][198](A$)
  82. 800 [139]A[178]138[167][158]UP:[137]740
  83. 810 [139]A[178]134[167][158]DOWN:[137]740
  84. 820 [139]A[178]139[167][158]LEFT:[137]740
  85. 830 [139]A[178]135[167][158]RIGHT:[137]740
  86. 840 [142]
  87. 850 [143]
  88. 860 [143]    PRINT DISK DIRECTORY
  89. 870 [143]
  90. 880 [159]2,8,15:Z[178]0:P[178]1:[152]2,"I
  91. 890 OPEN1,8,0,"$0"
  92. 900 GET#1,A$,B$
  93. 910 GET#1,A$,B$
  94. 920 GET#1,A$,B$
  95. 930 C=0
  96. 940 IF A$<>"" THEN C=ASC(A$)
  97. 950 IF B$<>"" THEN C=C+ASC(B$)*256
  98. 960 D=3-LEN(STR$(C)):D=E
  99. 970 PRINT""MID$(STR$(C),2);TAB(3+E);"[146]";
  100. 980 FORJ=0TOD:PRINT" ";:NEXT
  101. 990 GET#1,B$:IF ST<>0 THEN 1090
  102. 1000 IF B$<>CHR$(34) THEN 990
  103. 1010 GET#1,B$:IF B$<>CHR$(34)THEN PRINTB$;:GOTO1010
  104. 1020 GET#1,B$:IF B$=CHR$(32) THEN 1020
  105. 1030 PRINT TAB(21+E);:C$=""
  106. 1040 C$=C$+B$:GET#1,B$:IF B$<>""  THEN 1040
  107. 1050 PRINT""LEFT$(C$,3)
  108. 1060 IFZ=0THENPRINT:Z=Z+1
  109. 1070 P=P+1:IFP=10THEN1110
  110. 1080 IF ST=0 THEN 910
  111. 1090 PRINT" BLOCKS FREE"
  112. 1100 CLOSE1:CLOSE2:RETURN
  113. 1110 PRINT"PRESS A KEY[146]"
  114. 1120 GETA$:IFA$=""THEN1120
  115. 1130 P=0:GOTO1080
  116.